package com.example.dynamicdatasource.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 省份实体类
 * 映射数据库表：province_info
 */
@Data // 生成Getter、Setter、toString、equals、hashCode等方法
@NoArgsConstructor // 生成无参构造方法
@AllArgsConstructor // 生成全参构造方法
@Alias("Province") // MyBatis别名，便于XML中引用
@TableName("province_info") // MyBatis-Plus注解：指定对应数据库表名（若表名与类名一致可省略）
public class Province implements Serializable { // 实现Serializable便于序列化（如分布式场景）

    /**
     * 主键ID
     * 若数据库主键为自增，添加@TableId(type = IdType.AUTO)
     */
    @TableId
    private Long id;

    /**
     * 省份编码（如"beijing"、"shanghai"，需与数据源标识一致）
     * 对应数据库字段：province_code
     */
    private String provinceCode;

    /**
     * 省份名称（如"北京市"、"上海市"）
     * 对应数据库字段：province_name
     */
    private String provinceName;

    /**
     * 省份简称（如"京"、"沪"）
     * 对应数据库字段：province_short_name
     */
    private String provinceShortName;

    /**
     * 状态（0-禁用，1-启用）
     * 对应数据库字段：status
     */
    private Integer status;

    /**
     * 创建时间
     * 对应数据库字段：create_time
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     * 对应数据库字段：update_time
     */
    private LocalDateTime updateTime;
}
